The invention generally relates to remote booting in a Storage Area Network (SAN). More specifically, the invention relates to a method and system for dynamically binding a server to a remote disk in a SAN.
A SAN is a network that interconnects servers and storage devices and enables high-speed transfer of data between them. Each storage device includes multiple remote disks. Each remote disk stores several server images. A server image is a combination of an operating system, the operating system configuration data, the application software, and the application configuration data, together with the SAN-related configurations. Further, each storage device includes a storage controller. The storage controller manages the multiple remote disks and provides services such as RAID, read cache, write cache, Flash Copy, Peer-to-Peer Copy, and the like. The storage controller can enforce a one-to-one mapping between a server and a remote disk, which ensures that multiple servers do not access the remote disk concurrently. This helps to prevent data corruption. The SAN also includes a communication infrastructure that physically connects the servers to the storage devices. The communication infrastructure manages the data transfer between the servers and the storage devices by using a standard protocol.
The Fibre Channel SAN (FC-SAN) with the Small Computer System Interface (SCSI) standard is one of the most common SAN technologies. There are three major topologies for the FC-SAN, i.e., Point-to-Pont (FC-P2P), Arbitrated Loop (FC-AL) and Switched Fabric. The switched fabric comprises a number of Fibre Channel switches (Director switches or Fabric switches). These switches provide optimal interconnection between the servers and the storage devices. The servers and storage devices connect to the switched fabric through a Fibre Channel Host Bus Adapter (HBA). Each HBA has a factory-installed World Wide Name (WWN), which is universally unique. The WWN facilitates communication between a server and a storage device.
In SCSI terminology, communication occurs between an initiator and a target. A server, acting as the initiator, sends a request to the storage controller for a desired block or data segment stored on a remote disk that is referred to as the target.
Further, in FC-SW topology, the switched fabric is partitioned into smaller groups to prevent interference, provide strict security, and ease its overall management. This partitioning is known as zoning. Zoning controls access to the remote disks and manages visibility in the SAN, thereby avoiding unauthorized access to the remote disks.
The existing method for remote booting a server from a remote disk in a SAN includes recording a factory-assigned WWN of an HBA installed on the server. Further, the remote disk, containing a desired server image, is identified and the corresponding storage device is configured to provide access to the server. Subsequently, the firmware on the HBA of the server is configured for remote booting from the remote disk assigned to the server. Furthermore, the switched fabric is configured to authorize the server to connect to the remote disk. These configuration settings are persistent until explicitly modified by a data center administrator.
If an HBA that is installed on the server fails and a replacement HBA is installed, or server hardware failure occurs and the server is replaced with a back-up server with a different HBA, booting the server is not possible without appropriate configuration changes made by the data-center administrator. However, these changes require manual, multi-step operator intervention and are error-prone. Moreover, it may result in data corruption and interruption in the data center service.
In present-day data centers, server repurposing is a common requirement. This involves a change in software, which includes an operating system and a set of applications running on the server. Therefore, the server is required to boot from a different remote disk. It is desirable to have dynamic control over the number of servers deployed in the functional tiers of a business system, so that the capacity of the business system can be dynamically adjusted to meet variable demands. In the state of the art, servers have a pre-determined function and configuration, as well as provision for anticipated maximal utilization. This results in inefficient utilization of network resources and an increase in overall maintenance and operational costs.
There exist methods in the prior art that facilitate the process of changing the persistent binding between the servers and the remote disks. One such technique, known as WWN spoofing or aliasing, enables an HBA of the server to assume a WWN other than the one installed on the hardware of the server. In the event of server hardware failure and a replacement server being brought in, the data center administrator assigns the WWN of the old HBA to the HBA of the replacement server. However, this method does not allow the same server to boot from or access-different remote disks at different times without operator intervention before each such change.
Another technique, known as N_Port ID Virtualization (NPIV), allows a server's HBA to assume multiple, non-persistent WWNs and access multiple remote disks by using different WWNs. NPIV enables an HBA port to serve as multiple logical ports, each with its own unique identity. A port login process involves the HBA port making a request for multiple IDs from attached SAN communication devices. Thereby, multiple logical ports with a unique World Wide Port and Node Names are created. The binding between the logical ports and the remote disks is preserved, even after a server function is moved to a new machine. However, the initialization of the HBA with additional WWNs can occur only after the server has a loaded operating system and an HBA driver is operational. Thus, this technique cannot be used for dynamic binding between a server and the remote disk, which contains a desired server image for booting.
In light of the above, there is a need for a method and system that facilitates dynamic non-persistent binding between a server and a remote disk. Moreover, there is a need for a method and system that enables non-persistent binding without necessitating any permanent configuration changes on the server, the storage devices, and the communication devices present on the SAN.